package domain;

import java.io.Serializable;
import javax.persistence.*;

import java.math.BigDecimal;


/**
 * The persistent class for the korting database table.
 * 
 */
@Entity
@Table(name="korting")
@NamedQueries({
    @NamedQuery(name = "Korting.findAll", query = "SELECT k FROM Korting k ORDER BY k.minDeelnemers"),
    @NamedQuery(name = "Korting.findByMinDeelnemers", query = "SELECT k FROM Korting k WHERE k.minDeelnemers = :min_deelnemers"),
    @NamedQuery(name = "Korting.findByMaxDeelnemers", query = "SELECT k FROM Korting k WHERE k.maxDeelnemers = :max_deelnemers"),
    @NamedQuery(name = "Korting.findByAantalDeelnemers", query = "SELECT k FROM Korting k WHERE k.minDeelnemers <= :aantal_deelnemers and k.maxDeelnemers > :aantal_deelnemers")})
public class Korting implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="korting_id", unique=true, nullable=false)
	private int kortingId;

	@Column(nullable=false, precision=10, scale=1)
	private BigDecimal korting;

	@Column(name="max_deelnemers", nullable=false)
	private int maxDeelnemers;

	@Column(name="min_deelnemers", nullable=false)
	private int minDeelnemers;

    public Korting() {
    }

	public int getKortingId() {
		return this.kortingId;
	}

	public void setKortingId(int kortingId) {
		this.kortingId = kortingId;
	}

	public BigDecimal getKorting() {
		return this.korting;
	}

	public void setKorting(BigDecimal korting) {
		this.korting = korting;
	}

	public int getMaxDeelnemers() {
		return this.maxDeelnemers;
	}

	public void setMaxDeelnemers(int maxDeelnemers) {
		this.maxDeelnemers = maxDeelnemers;
	}

	public int getMinDeelnemers() {
		return this.minDeelnemers;
	}

	public void setMinDeelnemers(int minDeelnemers) {
		this.minDeelnemers = minDeelnemers;
	}

	@Override
	public boolean equals(Object obj) {
		return (obj!=null && obj instanceof Korting && ((Korting)obj).getKortingId()==getKortingId());
	}

	@Override
	public String toString() {
		if(maxDeelnemers<999) {
			return minDeelnemers + " - " + maxDeelnemers +" deelnemers: "+korting.toString()+"%";
		} else {
			return "> "+minDeelnemers+" deelnemers: "+korting.toString()+"%";
		}
	}
}